const Upload = require('../model/upload')

const fs = require('fs');
const path = require('path');

const utils = require('../common/utils');

module.exports = {
  gIndexSwiperList: (request, response, next) => {
    Upload.getIndexSwiperAll ()
      .then(result => {
        request.index_swiper_all = result // 轮播图的url
        // console.log('url=' + result)
        // console.log(result)
        next()
      })
      .catch(error => {
        next(error)
      })
  },

  // /**
  //  * 上传文件<上传图片中间件>
  //  * @param request
  //  * @param response
  //  * @param next
  //  */
  // uploadFile: (request, response, next) => {
  //   // 接收上传成功的文件对象
  //   let {imgBase, date_name} = request.body;
  //   console.log('检查是否存在上传...');
  //
  //   if (request.tokenData && imgBase) { // 入存在此token信息且存在上传文件
  //     let username = request.tokenData.username;   //用来创建用户目录的变量
  //     // const date = utils.formatDate(new Date(), 'yyyy0MM0dd0hh0mm0ss');
  //     // console.log('String date=' + date);
  //     // console.log('String date type=' + typeof date);
  //
  //     let filename = username + '0' + date_name; // 这此重命名的文件路径是用解析token所得的username + 0 +前台发来的date_name组成的,与存入的数据库的src文件名相同,但是路径不同<此路径在项目的根下,因此,用户还无法访问,还需要对此文件进行重命名至static开放的目录下,并保证与数据库的路径名一致,使用户能够访问>
  //
  //     console.log('上传者:' + username + ';文件名:' + filename + ';');
  //
  //     //过滤data:URL
  //     let base64Data = imgBase.replace(/^data:image\/\w+;base64,/, "");
  //     // 返回一个被 string 的值初始化的新的 Buffer 实例,原始二进制数据存储在 Buffer 类的实例中,一个 Buffer 类似于一个整数数组,但它对应于 V8 堆内存之外的一块原始内存。
  //     let base64DataBuffer = Buffer.from(base64Data, 'base64');
  //     // 写入文件
  //     let oldFile = filename + '.png';
  //     fs.writeFile(oldFile, base64DataBuffer, function (error) {
  //       if (error) {
  //         console.log('写入文件失败');
  //       } else {
  //         console.log('写入文件成功');
  //       }
  //     });
  //
  //     console.log('重命名文件至指定目录.......');
  //     let newFilePath = '/upload/user/' + username + '/' + filename + '.png'; // 此路径和文件名与存入数据库的一致,用户可以通过此路径访问到相应的资源
  //
  //     /**重命名文件至指定目录*/
  //     // let extname = path.extname(filename.originalname);//此方法是获取文件的后缀名    file.originalname ==> 文件的原名称
  //     // 此方法对上传文件路径做更改(文件上传至本项目的目录下,与static平级,没有在static开放目录下所以要进行重命名)   参数1，旧路径；参数2，新路径   file.path ==> 上传后的文件路径
  //     fs.renameSync(oldFile , 'static' + newFilePath); // 参数1、相对于本项目下的一级路径,即其文件名就是其路径;参数2、更改成的新路径,即更改为相对于本项目的static目录下的对应目录,否则,其他目录未开放,用户是不能访问的。
  //     console.log('重写成功' + newFilePath);
  //
  //   } else {
  //     console.log('无上传');
  //   }
  //
  //   next();
  // }



}
